home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / gus / guspeak.zip / SCAT.C < prev    next >
C/C++ Source or Header  |  1993-06-23  |  1KB  |  66 lines

  1. #include <stdio.h>
  2.  
  3. #define USAGE        "usage: scat [-v vol] [-d directory]\n"
  4. #define DEFAULT_DIR    "/cs/data/phonemes"
  5. #define DEFAULT_VOL    .5
  6.  
  7. static void usage();
  8.  
  9. main (argc, argv)
  10.    int argc;
  11.    char **argv;
  12. {
  13.    int fd;
  14.    double vol = DEFAULT_VOL;
  15.    char *dir = (char *)0;
  16.    char cp[1024];
  17.  
  18.    while (--argc)
  19.       if (**++argv == '-')
  20.          switch (*(*argv+1)) {
  21.             case 'v':
  22.                if (--argc)
  23.                   vol = (double)atof(*++argv);
  24.                else
  25.                   usage();
  26.                break;
  27.             case 'd':
  28.                if (--argc)
  29.                   dir = *++argv;
  30.                else
  31.                   usage();
  32.                break;
  33.             default:
  34.                usage();
  35.          }
  36.       else
  37.          usage();
  38.  
  39.    if (dir == (char *)0)
  40.       dir = DEFAULT_DIR;
  41.  
  42.    if (speak_load_samples(dir))
  43.       exit(1);
  44.  
  45.    fd = speak_open(0, 0);
  46.  
  47.    if (vol < 0.0)
  48.       vol = 0.0;
  49.    else if (vol > 1.0)
  50.       vol = 1.0;
  51.  
  52.    speak_volume(fd, vol);
  53.  
  54.    while (gets(cp))
  55.       speak_string(fd, cp);
  56.  
  57.    speak_close(fd);
  58. }
  59.  
  60. static void
  61. usage()
  62. {
  63.    fprintf(stderr, USAGE);
  64.    exit(1);
  65. }
  66.